From 2f24913cb5f0cb3adf21ab06a9cf641a890f184d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 16 Apr 2006 04:45:02 +0000 Subject: [PATCH] fix another Coverity bug. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ gtk/gtktextbuffer.c | 7 ++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index dabd4bd660..f1503e9895 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-04-16 Matthias Clasen + + * gtk/gtktextbuffer.c (_gtk_text_buffer_remove_all_tags): + Avoid a NULL dereference. (Coverity) + 2006-04-15 Matthias Clasen * gtk/gtkrecentmanager.c: Make filename_warning() static, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index dabd4bd660..f1503e9895 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2006-04-16 Matthias Clasen + + * gtk/gtktextbuffer.c (_gtk_text_buffer_remove_all_tags): + Avoid a NULL dereference. (Coverity) + 2006-04-15 Matthias Clasen * gtk/gtkrecentmanager.c: Make filename_warning() static, diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index 12b386a6d8..ea04b885b0 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -2514,7 +2514,7 @@ gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer, GtkTextIter first, second, tmp; GSList *tags; GSList *tmp_list; - GSList *prev; + GSList *prev, *next; GtkTextTag *tag; g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer)); @@ -2569,14 +2569,15 @@ gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer, if (tag == tmp_list->data) { /* duplicate */ + next = tmp_list->next; if (prev) - prev->next = tmp_list->next; + prev->next = next; tmp_list->next = NULL; g_slist_free (tmp_list); - tmp_list = prev->next; + tmp_list = next; /* prev is unchanged */ } else -- 2.30.2